<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="div">
        <button id="btn">点击</button>
    </div>
    <script>
        // btn => div => body 这个过程就是冒泡
        // body =>div => btn 这个过程是捕获过程
        // 事件流： 事件捕获 => 目标阶段 => 冒泡阶段
        // 事件源： 触发事件的dom对象
        const btn = document.getElementById('btn');
        const div = document.getElementById('div');
        const body = document.body
        btn.addEventListener('click', btnClick, true)
        div.addEventListener('click', divClick, true)
        body.addEventListener('click', bodyClick, true)
        function btnClick() {
            // window.event.stopPropagation() // 阻止冒泡的方法
            console.log('btn被点击了')
        }

        function divClick() {
            console.log('div被点击了')
        }

        function bodyClick() {
            console.log('body被点击了')
            debugger
        }
    </script>
</body>
</html>